Memory devices are typically provided as internal, semiconductor, integrated circuits and/or external removable devices in computers, personal digital assistants (PDAs), digital cameras, and cellular telephones, among various other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), phase change random access memory (PCRAM), and flash memory, among others.
Flash memory devices are utilized as non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption.
Various types of memory can be used in memory systems. The various types of memory can be used in any combination to provide memory for a host, such as a host device or host system. For example, Flash memory can be included in a memory system. Flash memory can be part of a memory system as internal memory or as removable memory that can be coupled to the memory system through an interface, such as a USB connection.
A system can include a host system, host memory, and a number of external memory devices. The host system can have a number of processors, a host controller, host controller memory that is located on the host controller, and a number of internal memory devices. The host system can use the internal and/or external memory devices by interacting with the memory devices via a host controller and/or a number of host processors. The host controller and/or a number of host processors can communicate with the memory devices to perform operations on the memory devices, such as reading data from the memory devices to the host or writing data from the host to the memory devices. The commands that control the reading and writing of data can be built by the host. The host controller and/or a number of host processors can have hardware that controls the execution of the commands. In such cases when a host controller and/or a number of host processors have hardware that controls the execution of the commands, the host system manages and maintains the state of the memory devices.